The present invention relates to data processing, and more specifically to a messaging model for providing communication between two or more computer processes.
Multiprocessor computer systems increase processing bandwidth and generally improve throughput, reliability, and serviceability when compared to single processor computing systems. Multiprocessing computing systems perform individual tasks using a plurality of processing elements, which may include multiple individual processors linked in a network, or a plurality of software processes or threads operating concurrently in a coordinated environment.
Multiprocessor computer systems may include multiple, individual computer systems, referred to as partitioned systems. Other multiprocessor systems include one or more computer systems that are logically partitioned to behave as multiple independent computer systems. For example, a single system having eight processors might be configured to treat each of the eight processors (or multiple groups of one or more processors) as a separate system for processing purposes. Each of these “virtual” systems (or images) has its own copy of an operating system, and may then be independently assigned tasks; or multiple virtual systems may operate together as a processing cluster, which provides for both high speed processing and improved reliability.
Individual systems in a multiprocessor system typically share resources and a messaging model (or protocol) may be used to coordinate accesses between the processors and shared resources. Examples of resources that may be shared include, but are not limited to: a single simultaneous peripheral operations on-line (SPOOL) file, a cache, and a database.